#ifndef IPLUGINGADGET_H
#define IPLUGINGADGET_H

#include "pluginextension_global.h"

class PLUGINEXTENSIONSHARED_EXPORT IPluginGadget : public QObject
{
    Q_OBJECT
public:
    IPluginGadget(QString classId, QObject *parent = 0):
        QObject(parent),
        m_classId(classId) { }

    virtual ~IPluginGadget() {}

    virtual QWidget *plugin() = 0;

    QString classId() const { return m_classId; }

    //virtual void loadConfiguration(IUAVGadgetConfiguration*) { }
    virtual void saveState(QSettings* /*qSettings*/) { }
    virtual void restoreState(QSettings* /*qSettings*/) { }

signals:

public slots:

private:
    QString m_classId;

};

#endif // IPLUGINGADGET_H
